package priv.conceit.study.book.thread.chapter1.parts4;

/**
 * 1.4.2
 * 设计模式在线程中的应用
 * <p>
 * 线程真正的执行逻辑在run方法中，通常称run方法为线程的执行单元
 * run方法和start方法 为典型的设计模式
 * 父类编写算法结构代码，子类进行实现
 *
 * @author Conceit
 * 2019/6/4 增加方法
 * @since 1.0.0, 2019/6/4
 */
public class ThreadTemplateDesignPattern {

	public final void start(String message) {
		System.out.println("这是TemplateMethod#run 方法执行的方法1");
		run(message);
		System.out.println("这是TemplateMethod#run 方法执行的方法2");
	}

	protected void run(String message) {
		//真正的执行逻辑
	}

	public static void main(String[] args) {
		//匿名内部类 重写run方法
		ThreadTemplateDesignPattern threadTemplateDesignPattern = new ThreadTemplateDesignPattern() {
			@Override
			protected void run(String message) {
				System.out.println("我是重写的run方法");
			}
		};
		threadTemplateDesignPattern.start("hello thread");
	}


}
